home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 4.9 KB | 149 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: SLCharIt.h
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef SLCHARIT_H
- #define SLCHARIT_H
-
- #ifndef FWCHARAC_H
- #include "FWCharac.h"
- #endif
-
- #ifndef SLLOCALE_H
- #include "SLLocale.h"
- #endif
-
- //========================================================================================
- // Forward Declarations
- //========================================================================================
-
- class FW_OTextRunReader;
- class FW_OTextRunWriter;
-
- //========================================================================================
- // STRUCT FW_SPrivTextReader
- //========================================================================================
-
- struct FW_SPrivTextReader; // Opaque data structure
- struct FW_SPrivTextWriter; // Opaque data structure
-
- typedef FW_SPrivTextReader* FW_HTextReader;
- typedef FW_SPrivTextWriter* FW_HTextWriter;
-
- //========================================================================================
- // Constants
- //========================================================================================
-
- const int kTempHackOneBytePerCharacter = 1;
-
- //========================================================================================
- // FW_PrivTextReader Functions
- //========================================================================================
-
- // Export or Import functions for CFM-68K [sfu]
-
- #if defined(FW_ODFLIB_IMPORT)
- #pragma import on
- #elif defined(FW_ODFLIB)
- #pragma export on
- #endif
-
- FW_EXTERN_C_BEGIN
-
- // ----- Initialization & Destruction -----
-
- FW_HTextReader FW_PrivTextReader_New(Environment *ev, FW_OTextRunReader* adoptedReader);
-
- void FW_PrivTextReader_Acquire(FW_HTextReader self, Environment *ev);
-
- void FW_PrivTextReader_Release(FW_HTextReader self, Environment *ev);
-
- // ----- Attribute Accessors -----
-
- FW_ByteCount FW_PrivTextReader_GetPosition(FW_HTextReader self);
-
- FW_ByteCount FW_PrivTextReader_GetByteLength(FW_HTextReader self);
-
- void FW_PrivTextReader_GetLocale(FW_HTextReader self, FW_Locale* locale);
-
- void FW_PrivTextReader_SetPosition(FW_HTextReader self, Environment *ev, FW_ByteCount position);
-
- // ----- Character Iteration -----
-
- FW_LChar FW_PrivTextReader_PeekCharacter(FW_HTextReader self, FW_ByteCount* bytesInChar);
-
- void FW_PrivTextReader_Advance(FW_HTextReader self, Environment *ev, FW_ByteCount delta);
-
- void FW_PrivTextReader_Backup(FW_HTextReader self, Environment *ev, FW_ByteCount delta);
-
- FW_LChar FW_PrivTextReader_GetCharacterAndAdvance(FW_HTextReader self, Environment *ev, FW_ByteCount* bytesInChar);
-
- FW_LChar FW_PrivTextReader_BackupAndGetCharacter(FW_HTextReader self, Environment *ev, FW_ByteCount* bytesInChar);
-
- FW_ByteCount FW_PrivTextReader_PeekCharacterSize(FW_HTextReader self);
-
- // ----- Run Iteration -----
-
- void FW_PrivTextReader_PeekRunAhead(FW_HTextReader self, const char** start, FW_ByteCount* length);
-
- void FW_PrivTextReader_PeekRunBehind(FW_HTextReader self, const char** end, FW_ByteCount* length);
-
- // ===== THESE MIGHT BECOME PRIVATE =====
-
- void FW_PrivTextReader_GetNextBuffer(FW_HTextReader self, Environment *ev);
-
- void FW_PrivTextReader_GetPreviousBuffer(FW_HTextReader self, Environment *ev);
-
- const char* FW_PrivTextReader_PeekByte(FW_HTextReader self);
-
- FW_EXTERN_C_END
-
- //========================================================================================
- // FW_SPrivTextWriter Functions
- //========================================================================================
-
- FW_EXTERN_C_BEGIN
-
- // ----- Initialization & Destruction -----
-
- FW_HTextWriter FW_PrivTextWriter_New(Environment *ev, FW_OTextRunWriter* adoptedWriter);
-
- void FW_PrivTextWriter_Acquire(FW_HTextWriter self);
-
- void FW_PrivTextWriter_Release(FW_HTextWriter self, Environment *ev);
-
- // ----- Attribute Accessors -----
-
- void FW_PrivTextWriter_SetBufferSum(FW_HTextWriter self, FW_ByteCount bufferSum);
-
- void FW_PrivTextWriter_FlushBuffer(FW_HTextWriter self, Environment* ev);
-
- void FW_PrivTextWriter_FlushAndGetNextBuffer(FW_HTextWriter self, Environment* ev);
-
- void FW_PrivTextWriter_PutCharacterAndAdvance(FW_HTextWriter self, Environment *ev, FW_LChar character, FW_ByteCount bytesInChar);
-
- FW_ByteCount FW_PrivTextWriter_GetPosition(FW_HTextWriter self, Environment *ev);
-
- void FW_PrivTextWriter_WritePeek(FW_HTextWriter self, Environment *ev, char** start, FW_ByteCount* length);
-
- void FW_PrivTextWriter_WritePeekAdvance(FW_HTextWriter self, char* start, FW_ByteCount bytesWritten);
-
- FW_EXTERN_C_END
-
- // For CFM-68K [sfu]
-
- #if defined(FW_ODFLIB_IMPORT)
- #pragma import off
- #elif defined(FW_ODFLIB)
- #pragma export off
- #endif
-
- #endif
-
-
-